Release 10.1A: OpenEdge Deployment:
Managing 4GL Applications
CRC validation
For each table, OpenEdge computes a CRC value (
databaseCRC) from selected elements of the table metaschema. When compiling a procedure, OpenEdge inserts the database CRC for each database table the procedure accesses. The database CRC for each table is stored in the metaschema_Filerecord _CRCfield for the table. A matching CRC ensures that the schema referenced by the r-code is compatible with the table schema, regardless of its time stamp.Time stamps and CRCs
Time stamps and CRCs both help maintain database integrity, but they do it differently. Time stamps change whenever a table schema is updated or recreated at another time or place; CRCs change only when certain schema elements critical to field or record definitions change. As long as a table is structurally compatible with the r-code that references it, the CRCs match and the r-code can execute. It does not matter when or where the table’s schema was created or updated.
R-code execution with CRCs
When executing a procedure using CRC validation, OpenEdge follows these steps:
- For each table accessed by the r-code, check the time stamp. If it matches, execute the procedure. Otherwise, go to Step 2.
- If the table is in a database that was not connected using the Time Stamp (
-tstamp) parameter when the procedure was compiled, check the CRC. If it matches, execute the procedure. Otherwise, reject the procedure.Thus, if the time stamps match, OpenEdge assumes that the database schema and r-code must be compatible. Otherwise, the CRCs determine the outcome.
Note: The Time Stamp (-tstamp) parameter is supported for backward compatibility only.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |